/*$(function(){
	//getnonreusable_signature('basicprofile.jpg');
})*/

	/*baseAjax('other/upload/create_reusable_signature','GET',{},function(res){
		 var data = res.data;
        folder = data.folder.toString();
        bucket = data.bucket.toString();
        region=data.region.toString();
        appid=data.appid.toString();
	})*/




         // var myFolder = '/';//需要操作的目录
            var cos;
            var folder = '';
            var bucket = '';
            var region = '';
            var appid = '';
            var cos;
           //初始化逻辑
            //特别注意: JS-SDK使用之前请先到console.qcloud.com/cos 对相应的Bucket进行跨域设置
            baseAjax('other/upload/create_reusable_signature','GET',{},function(s){
            		 var ores = s.data;
			        folder = ores.folder.toString();
			        bucket = ores.bucket.toString();
			        region=ores.region.toString();
			        appid=ores.appid.toString();
             cos = new CosCloud({
                appid: appid, // APPID 必填参数
                bucket: bucket, // bucketName 必填参数
                region: region, // 地域信息 必填参数 华南地区填gz 华东填sh 华北填tj
                getAppSign: function (callback) {//获取签名 必填参数

                    /*// 方法一（推荐线上使用）：搭建鉴权服务器，构造请求参数获取签名，推荐实际线上业务使用，优点是安全性好，不会暴露自己的私钥
                    // $.get('../server/auth.php', callback);

                    // 方法二（前端调试使用）：直接在浏览器前端计算签名，需要获取自己的accessKey和secretKey, 一般在调试阶段使用
                    var self = this;
                    var random = parseInt(Math.random() * Math.pow(2, 32));
                    var now = parseInt(Date.now() / 1000);
                    var e = now + 600; //签名过期时间为当前+600s
                    var path = ''; //多次签名这里填空
                    var str = 'a=' + self.appid + '&k=' + sid + '&e=' + e + '&t=' + now + '&r=' + random + '&f=' + path + '&b=' + self.bucket;
                    var sha1Res = CryptoJS.HmacSHA1(str, skey); // 这里使用CryptoJS计算sha1值，你也可以用其他开源库或自己实现
                    var strWordArray = CryptoJS.enc.Utf8.parse(str);
                    var resWordArray = sha1Res.concat(strWordArray);
                    var res = resWordArray.toString(CryptoJS.enc.Base64);										
                    callback(res);
                    */
                     baseAjax('other/upload/create_reusable_signature','GET',{},function(res){
                    	folder = res.data.folder.toString();
                   		 callback(res.data.appsign.toString());
					})

                },
                getAppSignOnce: function (callback) {//单次签名，参考上面的注释即可

                    // 方法一（推荐线上使用）：搭建鉴权服务器，构造请求参数获取签名，推荐实际线上业务使用，优点是安全性好，不会暴露自己的私钥
                    // $.get('../server/auth.php', {path: self.path}, callback);

                    // 方法二（前端调试使用）：直接在浏览器前端计算签名，需要获取自己的accessKey和secretKey, 一般在调试阶段使用
                    /*var self = this;
                    var random = parseInt(Math.random() * Math.pow(2, 32));
                    var now = parseInt(Date.now() / 1000);
                    var e = 0; // 单次签名 expire==0
                    var path = self.path;
                    var str = 'a=' + self.appid + '&k=' + sid + '&e=' + e + '&t=' + now + '&r=' + random + '&f=' + path + '&b=' + self.bucket;
                    var sha1Res = CryptoJS.HmacSHA1(str, skey); // 这里使用CryptoJS计算sha1值，你也可以用其他开源库或自己实现
                    var strWordArray = CryptoJS.enc.Utf8.parse(str);
                    var resWordArray = sha1Res.concat(strWordArray);
                    var res = resWordArray.toString(CryptoJS.enc.Base64);

                    callback(res);*/

                }
            });

        })
        
        
        
        
         var successimages=new Array;
            var successCallBack = function (result) {            	
                $.ajax({ 			  		
					url:baseUrl+'other/upload/notify',	
					type:'POST',
					dataType:"json",		
					data:{user_id:user_id,platform:1,work_id:work_id,images:JSON.stringify(successimages)},		
			        success:function(res){
                //baseAjax('other/upload/notify','POST',{user_id:user_id,platform:1,work_id:work_id,images:JSON.stringify(successimages)},function(res){
	                	if(res.code!=200){				
							 $.alert(res.description, "提示");
							 $("#loadimground").hide();
							 $("#load p").html('loading');
						}else{
			                	var item=successimages[0];
			                	//var imgurl='http://img1-qcloud.hucai.com/'+item.image_url+'?imageMogr2/thumbnail/';
			                	var imgurl=res.data[0].image_url+imgsize_str;
			                	if($("#js-file").attr('onfunction')==1){
			                		canvasimgreplace(imgurl,res.data[0].id,item.width,item.height);
			                	}else if($("#js-file").attr('onfunction')==0){
			                		addimgaetocanvas(imgurl,res.data[0].id,item.width,item.height);
			                	}
			                	//$("#loadimground").hide();
								//$("#load p").html('loading');
			                //})
			                }
               		 },
					error: function(XMLHttpRequest, textStatus, errorThrown){	
							if(XMLHttpRequest.status==0){					
								$.alert('上传失败', "提示");
								 $("#loadimground").hide();
								$("#load p").html('loading');
							}else{					
								$.alert(XMLHttpRequest.status, "提示");
								$("#loadimground").hide();
								$("#load p").html('loading');
							 	
							}
										
					}
			    });
                
            };

            var errorCallBack = function (result) {
                result = result || {};
                console.log('request error:', result && result.message);
                console.log(result.responseText || 'error');
                $("#loadimground").hide();								
               $("#load p").html('loading');
             	$.alert('上传失败', "提示");
            };

            var progressCallBack = function (curr, sha1) {
                var sha1CheckProgress = ((sha1 * 100).toFixed(2) || 100) + '%';
                var uploadProgress = ((curr || 0) * 100).toFixed(2);
                //var msg = 'upload progress:' + uploadProgress + '; sha1 check:' + sha1CheckProgress + '.';
               // console.log(msg);
               //console.log(msg);
              
               if(uploadProgress<99){
               	$("#load p").html(uploadProgress+'%');
               }
            };

            var lastTaskId;
            var taskReady = function (taskId) {
                lastTaskId = taskId;
            };
  			//分片上传文件,当选择大于20M大小的文件的时候用分片上传
            var taskId = 0;
            //上传文件,适合小于20M的文件上传
           // $('#uploadFile').on('click', function () {
           $('#js-file').off('change').on('change', function (e) {
                 	successimages=[];
                 	$("#loadimground").show();
					$("#load p").html('loading');
			        var file = e.target.files[0];
			        if (file) {
			        	var imgname=getNowFormatDate()+'.'+file.name.substring(file.name.lastIndexOf(".")+1).toLowerCase();
			        	
  					    var reader = new FileReader();
					     reader.readAsDataURL(file);
					     reader.onload = function(e){
					     	 var w,h;
					     	 var imga = new Image();
					            imga.onload=function(){
					                w = imga.width;
					                h = imga.height;
					                 var imgeObj={ width:imga.width,height:imga.height,image_url:folder + imgname, quality: getquality(imga.width,imga.height)};
					           		successimages.push(imgeObj);
					           		if (file.size > 1024 * 1024) {
						        		taskId = cos.uploadFile(successCallBack, errorCallBack, progressCallBack, bucket, folder + imgname, file, 0, taskReady);//insertOnly==0 表示允许覆盖文件 1表示不允许
			  					    }else{
				                    // 分片上传过程可能会有 op=upload_slice_list 的 POST 请求返回 404，不会影响上传：https://github.com/tencentyun/cos-js-sdk-v4/issues/16
				                    cos.uploadFile(successCallBack, errorCallBack, progressCallBack, bucket, folder + imgname, file, 0, taskReady);//insertOnly==0 表示允许覆盖文件 1表示不允许
			                    	
				                    }
					           		//getnonreusable_signature(imgname);
					            };
					     	imga.src= e.target.result;
					     	
					     	
					     }
  					    //获取单次签名
         				
			        	$('#form')[0].reset();
                    	return false;
                    }
    			});
    		
          
           
function getNowFormatDate() {//获取当前时间 精确到秒
    var date = new Date();
   /* var seperator1 = "-";
    var seperator2 = ":";*/
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    /*var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
            + " " + date.getHours() + seperator2 + date.getMinutes()
            + seperator2 + date.getSeconds()+ seperator2+date.getMilliseconds();*/
    var currentdate = date.getFullYear().toString() +  month.toString() + strDate.toString()
            + date.getHours().toString() +date.getMinutes().toString()
            +  date.getSeconds().toString()+date.getMilliseconds().toString();
    return currentdate+Math.ceil(Math.random()*10);
    
} 
   

  function getquality(w,h){
  	var $scale=(w/h).toFixed(3);
  	var quality;
  	  if(w < 900 || h < 900) {
  	  	quality=2;
  	  }else if($scale <= 0.55 || $scale >= 1.8){
      	quality=1;
      }else {
      	quality=0;
      }
  	return quality;
  }
           

        